home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr27 / fdate89a.zip / HOLIDAYS.BAT < prev    next >
DOS Batch File  |  1995-02-20  |  7KB  |  202 lines

  1.  @echo off
  2.  CLS
  3.  :: HOLIDAYS.BAT
  4.  :: if user specifies a year as parm1, use it
  5.  :: revised 1994 Nov 06 to use new /J parm in version 8.8
  6.  
  7.  set year=%1
  8.  if not (%year%)==() goto GetYrEnd
  9.  
  10.  :: get name of this batch file, in upper case
  11.  FDATE /fupper /q%0 /v
  12.  
  13.  :: show title between two lines of bars
  14.  fdate /fe /J"L─79" /P
  15.  fdate /fe /J"C 79" /P"%fdate%"
  16.  fdate /fe /J"L─79" /P
  17.  
  18.  :GetYr
  19.  echo.
  20.  echo Please enter the year for which you want holidays calculated,
  21.  FDATE /fget /q"or press ENTER for current year > " /vyear
  22.  if not (%year%)==() goto GetYrEnd
  23.  
  24.  :: get current year
  25.  Fdate /Ff /At /Occyy /vyear
  26.  
  27.  :GetYrEnd
  28.  
  29.  :: pad year to left with zeroes, to make sure it is 4 bytes long
  30.  Fdate /Fe /P%year%  /JR04 /vyear
  31.  
  32.  echo.
  33.  :: check for validity of year parm (%1)
  34.  Fdate /Fv /A01-01-%year% >nul
  35.  if errorlevel 1 echo Value [%year%] is not a valid year.
  36.  if errorlevel 1 goto Endit
  37.  
  38.  :: --------------------------------------------------------
  39.  :: Determine if year is a leapyear
  40.  :: --------------------------------------------------------
  41.  Fdate /Ff /A01-01-%year% /Oly /vLY
  42.  
  43.  cls
  44.  echo ───────────────────────────────────────────────────────────────────────────────
  45.  if (%LY%)==(0) ECHO                   EVENTS IN %YEAR%
  46.  if (%LY%)==(1) ECHO                   EVENTS IN %YEAR%         Note: %year% is a leap year
  47.  ECHO To print the calendar, press SHIFT+PRINTSCREEN to print each screen.
  48.  echo ───────────────────────────────────────────────────────────────────────────────
  49.  Fdate /Fe /J"L.50" /Vtitle /P"New Year's Day"
  50.  Fdate /Ff   /A01-01-%year% /P"%title% "
  51.  
  52.  Fdate /Fe /J"L.50" /Vtitle /P"Epiphany"
  53.  Fdate /Ff  /A01-06-%year%  /P"%title% "
  54.  
  55.  Fdate /Fe /J"L.50" /Vtitle /P"Martin Luther King, Jr. Day"
  56.  Fdate /Fw /D2 /N3 /A01-01-%year% /P"%title% "
  57.  
  58.  :: note use of CENTER justification in next line
  59.  Fdate /Ff /A02-01-%year% /J"C 79" /P"Note that " /S" begins Black History Month"
  60.  
  61.  Fdate /Fe /J"L.50" /Vtitle        /P"Valentine's day"
  62.  Fdate /Ff          /A02-14-%year% /P"%title% "
  63.  
  64.  Fdate /Fe /J"L.50" /Vtitle        /P"Presidents' Day"
  65.  Fdate /Fw /D2 /N3  /A02-01-%year% /P"%title% "
  66.  
  67.  Fdate /Fe /J"L.50" /Vtitle        /P"St. Patricks's Day"
  68.  Fdate /Ff          /A03-17-%year% /P"%title% "
  69.  
  70.  if (%LY%)==(1) Fdate /Fe /J"L.50" /Vtitle  /P"Sadie Hawkins Day"
  71.  if (%LY%)==(1) Fdate /Ff /A02-29-%year%    /P"%title% "
  72.  
  73.  :: ========== begin: DATES TIED TO EASTER==============================
  74.  set easter=
  75.  if (%year%)==(1991) set easter=03-31-%year%
  76.  if (%year%)==(1992) set easter=04-19-%year%
  77.  if (%year%)==(1993) set easter=04-11-%year%
  78.  if (%year%)==(1994) set easter=04-03-%year%
  79.  if (%year%)==(1995) set easter=04-16-%year%
  80.  if (%year%)==(1996) set easter=04-07-%year%
  81.  if (%year%)==(1997) set easter=03-30-%year%
  82.  if (%year%)==(1998) set easter=04-12-%year%
  83.  if (%year%)==(1999) set easter=04-04-%year%
  84.  if (%year%)==(2000) set easter=04-23-%year%
  85.  if (%year%)==(2001) set easter=04-15-%year%
  86.  if (%easter%)==() goto unknown
  87.  echo.
  88.  Fdate /Fe /J"L.50" /Vtitle  /P"Mardi Gras (Shrove Tuesday)"
  89.  Fdate /Fsub /N47 /A%easter% /P"%title% "
  90.  
  91.  Fdate /Fe /J"L.50" /Vtitle  /P"Ash Wednesday (Lent begins)"
  92.  Fdate /Fsub /N46 /A%easter% /P"%title% "
  93.  
  94.  Fdate /Fe /J"L.50" /Vtitle  /P"Palm Sunday"
  95.  Fdate /Fsub /N7  /A%easter% /P"%title% "
  96.  
  97.  Fdate /Fe /J"L.50" /Vtitle  /P"Good Friday"
  98.  Fdate /Fsub /N2  /A%easter% /P"%title% "
  99.  
  100.  Fdate /Fe /J"L.50" /Vtitle  /P"Easter"
  101.  Fdate /Ff        /A%easter% /P"%title% "
  102.  
  103.  :unknown
  104.  :: ==========    end: DATES TIED TO EASTER==============================
  105.  
  106.  echo ───────────────────────────────────────────────────────────────────────────────
  107.  PAUSE
  108.  CLS
  109.  
  110.  Fdate /Fe /J"L.50" /Vtitle        /P"Secretary's Day"
  111.  Fdate /Fw /D4 /N4  /A04-01-%year% /P"%title% "
  112.  
  113.  Fdate /Fe /J"L.50" /Vtitle        /P"Cinco de Mayo (Mexico)"
  114.  Fdate /Ff          /A05-05-%year% /P"%title% "
  115.  
  116.  Fdate /Fe /J"L.50" /Vtitle        /P"Mother's Day"
  117.  Fdate /Fw /D1 /N2  /A05-01-%year% /P"%title% "
  118.  
  119.  Fdate /Fe /J"L.50" /Vtitle        /P"Victoria Day (Canada)"
  120.  Fdate /Fw /D2 /N-1 /A05-24-%year% /P"%title% "
  121.  
  122.  Fdate /Fe /J"L.50" /Vtitle        /P"Memorial Day (observed)"
  123.  Fdate /FW /D2 /N-1 /A05-31-%year% /P"%title% "
  124.  
  125.  Fdate /Fe /J"L.50" /Vtitle                        /P"Ascension Day"
  126.  if not (%easter%)==() Fdate /Fadd /N39 /A%easter% /P"%title% "
  127.  
  128.  Fdate /Fe /J"L.50" /Vtitle                        /P"Pentecost"
  129.  if not (%easter%)==() Fdate /Fadd /N49 /A%easter% /P"%title% "
  130.  
  131.  if not (%easter%)==() echo.
  132.  
  133.  Fdate /Fe /J"L.50" /Vtitle  /P"Flag Day"
  134.  Fdate /Ff /A06-14-%year%    /P"%title% "
  135.  
  136.  :: ----- anniversary of Bloom's Day, June 16, 1904 ------------------
  137.  :: Here's a way to show an anniversary or event that you want to note.
  138.  :: Thanks to L. Schliesser for the algorithm.
  139.  :: ------------------------------------------------------------------
  140.  Fdate /F#dif /A%year% /B1904 /vann
  141.  
  142.  Fdate /Fe /J"L.50" /Vtitle       /P"Bloom's Day (%ann%th anniversary)"
  143.  Fdate /Ff /A06-16-%year%         /P"%title% "
  144.  SET ann=
  145.  :: ---------------end bloom's day --------------------------------------
  146.  
  147.  Fdate /Fe /J"L.50" /Vtitle      /P"Father's Day"
  148.  Fdate /Ff /A07-01-%year%        /P"%title% "
  149.  
  150.  Fdate /Fe /J"L.50" /Vtitle      /P"Independence Day (USA)"
  151.  Fdate /Ff /A07-04-%year%        /P"%title% "
  152.  
  153.  Fdate /Fe /J"L.50" /Vtitle      /P"Bastille Day (France)"
  154.  Fdate /Ff /A07-14-%year%        /P"%title% "
  155.  
  156.  :: echo ─────────────────────────────────────────────────────────────────────── ────────
  157.  :: PAUSE
  158.  :: CLS
  159.  
  160.  Fdate /Fe /J"L.50" /Vtitle       /P"Labor Day"
  161.  Fdate /Fw /D2 /N1 /A09-01-%year% /P"%title% "
  162.  
  163.  
  164.  :: ---- begin ------- note a particular day in a particular year
  165.  :: This technique is useful for noting special events:
  166.  :: 21st birthdays, 50th wedding anniversaries, etc.
  167.  
  168.  Fdate /Fe /J"L.50" /Vtitle  /P"500th anniversary of Columbus's discovery"
  169.  if (%year%)==(1992) Fdate /Ff /A10-12-%year% /P"%title% "
  170.  :: ----   end -------- note a particular day in a particular year
  171.  
  172.  Fdate /Fe /J"L.50" /Vtitle        /P"Columbus Day (observed)"
  173.  Fdate /Fw /D2 /N2  /A10-01-%year% /P"%title% "
  174.  
  175.  Fdate /Fe /J"L.50" /Vtitle        /P"Thanksgiving Day (Canada)"
  176.  Fdate /Fw /D2 /N2  /A10-01-%year% /P"%title% "
  177.  
  178.  Fdate /Fe /J"L.50" /Vtitle        /P"Veteran's Day"
  179.  Fdate /Ff          /A11-11-%year% /P"%title% "
  180.  
  181.  :: Fourth Thursday in November
  182.  Fdate /Fe /J"L.50" /Vtitle        /P"Thanksgiving Day (USA)"
  183.  Fdate /Fw /D5 /N4  /A11-01-%year% /P"%title% "
  184.  
  185.  
  186.  Fdate /Fe /J"L.50" /Vtitle        /P"First Sunday in Advent"
  187.  Fdate /Fw /D1 /N-4 /A12-24-%year% /P"%title% "
  188.  
  189.  Fdate /Fe /J"L.50" /Vtitle        /P"Christmas"
  190.  Fdate /Ff          /A12-25-%year% /P"%title% "
  191.  
  192.  Fdate /Fe /J"L.50" /Vtitle        /P"New Year's Day"
  193.  Fdate /fadd /N1    /A12-31-%year% /P"%title% "
  194.  
  195.  echo ───────────────────────────────────────────────────────────────────────────────
  196.  :endit
  197.  set year=
  198.  set fdate=
  199.  set easter=
  200.  set title=
  201.  set LY=
  202.